<?php
include_once('include/Config.php');

Class ReporteMetDAL {

    private $link;

    public function __construct() {
        $this->conectar();
    }

    private function conectar() {
        $this->link = $GLOBALS["DBConnPDO"];
    }

    public function obtenerReporteArrayTxt($where) {
        $sql = "select 
                td.DescBreve, 
                c.NumeroDocumento, 
                concat(c.Apellido, ', ' ,c.Nombre) as 'Nombre', 
                DATE_FORMAT(c.FechaNacimiento, '%d/%m/%Y') as 'FechaNacimiento',
                c.Calle,
                c.Numero,
                c.Piso,
                c.Depto,
                l.Descripcion as 'localidad',
                '' as 'area',
                '' as 'telex',
                '' as 'fax',
                c.CodigoPostal,
                '' as 'zona',
                p.DescBreve as 'provincia',
                'T' as 'FormaPago',
                tt.CodInternoEmpresa as TipoTarjeta,
                CONCAT(SUBSTRING(ct.VencimientoTarjeta, 1, 2), '/', SUBSTRING(ct.VencimientoTarjeta, 5, 2)) as 'VencimientoTarjeta',
                '' as 'Prefijo',
                ct.NumeroTarjeta,
                CEILING(s.MontoPoliza) as MontoPoliza,
                CEILING(s.MontoPago) as ValorCuota,
                '1' as 'moneda',
                '' as 'nuevafecha',
                '' as 'nuevotipo',
                s.numSolicitud,
                'T' as 'TipoRegistro',
                IF(CEILING(s.MontoPago) = 95, 3, 8) as codigoMetProducto,
                DATE_FORMAT(s.FechaSolicitud, '%d/%m/%Y') as 'FechaSolicitud',
                '' as 'sucursal',
                '' as 'filler',
                c.Sexo,
                '' as 'codigoActividad',
                'C' as 'estadoCivil',
                ta.Descripcion as 'actividad',
                c.Email,
                '1' as 'seccion',
                '' as 'poliza',
                '' as 'aseguro',
                '' as 'idencliente',
                '' as 'relaciontitular',
                s.CodInterno as 'legajoOperador',
                '' as 'seccionRespuesta',
                '' as 'polizaRespuesta',
                '' as 'aseguradoRespuesta',
                '' as 'ErrorEnvio',
                'DTC-MM' as 'codigoEmpresa',
                '' as 'codigoPais',
                '' as 'codigocuit',
                '' as 'NumeroCuit',
                '' as 'area1',
                c.Telefono as 'telefono1',
                '' as 'area2',
                c.Telefono2 as 'telefono2',
                '' as 'area3',
                '' as 'telefono3',
                '' as 'area4',
                '' as 'celular1',
                '' as 'area5',
                '' as 'celular2',
                'SI' as 'actividadRiesgo',
                '' as 'clausula89',
                '' as 'solicitudReferencia',
                '' as 'polizaGruopo',
                '' as 'FechaProceso',
                '' as 'numeroLote',
                '' as 'fechaEmision',
                '' as 'filler2',
                '1' as 'codigoImpresion'
                from solicitud s
                inner join cliente c on s.idCliente = c.idCliente
                inner join empresatipoactividad ta on ta.idTipoActividad = c.idTipoActividad and ta.idEmpresa = s.idEmpresa
                inner join empresatipodocumento td on td.idTipoDocumento = c.idTipoDocumento and td.idEmpresa = s.idEmpresa
                inner join empresaprovincia p on p.idProvincia = c.idProvincia and p.idEmpresa = s.idEmpresa
                inner join empresalocalidad l on l.idLocalidad = c.idLocalidad and l.idProvincia = p.idProvincia and l.idEmpresa = s.idEmpresa                
                inner join clientetarjeta ct on ct.idCliente = c.idCliente
                inner join empresatipotarjeta tt on tt.idTipoTarjeta = ct.idTipoTarjeta and tt.idEmpresa = s.idEmpresa
                ";

        $sql .= $where;

        //echo $sql;exit;

        $lista = array();

        foreach ($this->link->query($sql) as $row) {
            $DescBreve = $row['DescBreve'];
            $DescBreve = str_pad($DescBreve, 6, " ");

            $NumeroDocumento = $row['NumeroDocumento'];
            $NumeroDocumento = str_pad($NumeroDocumento, 15, "0", STR_PAD_LEFT);

            $Nombre = $row['Nombre'];
            $Nombre = str_pad($Nombre, 50, " ");

            $FechaNacimiento = $row['FechaNacimiento'];
            $FechaNacimiento = str_pad($FechaNacimiento, 10, " ");

            $Calle = $row['Calle'];
            $Numero = $row['Numero'];
            $Piso = $row['Piso'];
            $Depto = $row['Depto'];
            
            $Direccion = trim($Calle);
            if($Numero != "") $Direccion .= " " . trim($Numero);
            if($Piso != "") $Direccion .= " " . trim($Piso);
            if($Depto != "") $Direccion .= " " . trim($Depto);
            
            $Direccion = str_pad($Direccion, 35, " ");

            $localidad = $row['localidad'];
            $localidad = str_pad($localidad, 89, " ");

            //$area = $row['area'];
            //$area = str_pad($area, 4, "0");

            //$telefono = str_pad("", 30, " ");

            //$telex = $row['telex'];
            //$telex = str_pad($telex, 10, " ");

            //$fax = $row['fax'];
            //$fax = str_pad($fax, 10, " ");

            $CodigoPostal = $row['CodigoPostal'];
            $CodigoPostal = str_pad($CodigoPostal, 10, " ");

            $zona = $row['zona'];
            $zona = str_pad($zona, 12, " ");

            $provincia = $row['provincia'];
            $provincia = str_pad($provincia, 5, " ");

            $FormaPago = $row['FormaPago'];
            $FormaPago = str_pad($FormaPago, 1, " ");

            $TipoTarjeta = $row['TipoTarjeta'];
            $TipoTarjeta = str_pad($TipoTarjeta, 5, " ");

            $VencimientoTarjetad = $row['VencimientoTarjeta'];

            $Prefijo = $row['Prefijo'];
            $Prefijo = str_pad($Prefijo, 8, " ");

            $NumeroTarjeta = $row['NumeroTarjeta'];
            $NumeroTarjeta = str_pad($NumeroTarjeta, 20, " ");

            $valorcuota = $row['ValorCuota'];
            $valorcuota = str_pad($valorcuota, 10, "0", STR_PAD_LEFT);

            $montopoliza = $row['MontoPoliza'];
            $montopoliza = str_pad($montopoliza, 12, "0", STR_PAD_LEFT);

            $moneda = $row['moneda'];
            $moneda = str_pad($moneda, 4, "0", STR_PAD_LEFT);

            $nuevafecha = $row['nuevafecha'];
            $nuevafecha = str_pad($nuevafecha, 10, " ");

            $nuevotipo = $row['nuevotipo'];
            $nuevotipo = str_pad($nuevotipo, 1, " ");

            $numSolicitud = $row['numSolicitud'];
            $numSolicitud = str_pad($numSolicitud, 12, "0", STR_PAD_LEFT);

            $TipoRegistro = $row['TipoRegistro'];
            $TipoRegistro = str_pad($TipoRegistro, 1, " ");

            $codigoMetProducto = $row['codigoMetProducto'];
            $codigoMetProducto = str_pad($codigoMetProducto, 12, "0", STR_PAD_LEFT);

            $FechaSolicitud = $row['FechaSolicitud'];
            $FechaSolicitud = str_pad($FechaSolicitud, 10, " ");

            $sucursal = $row['sucursal'];
            $sucursal = str_pad($sucursal, 12, " ");

            $filler = $row['filler'];
            $filler = str_pad($filler, 1, " ");

            $Sexo = $row['Sexo'];
            $Sexo = str_pad($Sexo, 1, " ");

            $codigoActividad = $row['codigoActividad'];
            $codigoActividad = str_pad($codigoActividad, 3, " ");

            $estadoCivil = $row['estadoCivil'];
            $estadoCivil = str_pad($estadoCivil, 1, " ");

            $actividad = $row['actividad'];
            $actividad = str_pad($actividad, 20, " ");

            $Email = $row['Email'];
            $Email = str_pad($Email, 50, " ");

            $seccion = $row['seccion'];
            $seccion = str_pad($seccion, 30, " ", STR_PAD_LEFT);
            
            $poliza = "";
            $aseguro = "";
            $idencliente = "";
            
						/*
            $poliza = $row['poliza'];
            $poliza = str_pad($poliza, 7, " ");

            $aseguro = $row['aseguro'];
            $aseguro = str_pad($aseguro, 9, " ");

            $idencliente = $row['idencliente'];
            $idencliente = str_pad($idencliente, 11, " ");
            */
						
            $relaciontitular = $row['relaciontitular'];
            $relaciontitular = str_pad($relaciontitular, 2, " ");
						
						$legajoOperador = $row['legajoOperador'];
            $legajoOperador = str_pad($legajoOperador, 8, "0", STR_PAD_LEFT);

            $seccionRespuesta = $row['seccionRespuesta'];
            $seccionRespuesta = str_pad($seccionRespuesta, 2, " ");

            $polizaRespuesta = $row['polizaRespuesta'];
            $polizaRespuesta = str_pad($polizaRespuesta, 7, " ");

            $aseguradoRespuesta = $row['aseguradoRespuesta'];
            $aseguradoRespuesta = str_pad($aseguradoRespuesta, 9, " ");

            $ErrorEnvio = $row['ErrorEnvio'];
            $ErrorEnvio = str_pad($ErrorEnvio, 5, " ");

            $codigoEmpresa = $row['codigoEmpresa'];
            $codigoEmpresa = str_pad($codigoEmpresa, 6, " ");

            $codigoPais = $row['codigoPais'];
            $codigoPais = str_pad($codigoPais, 4, " ");

            $codigocuit = $row['codigocuit'];
            $codigocuit = str_pad($codigocuit, 2, "0", STR_PAD_LEFT);

            $NumeroCuit = $row['NumeroCuit'];
            $NumeroCuit = ""; //str_pad($NumeroCuit, 14, "0", STR_PAD_LEFT);

            $area1 = $row['area1'];
            $area1 = ""; //str_pad($area1, 7, " ");

            $telefono1 = $row['telefono1'];
            $telefono1 = str_pad($telefono1, 35, "0", STR_PAD_LEFT);

            $area2 = $row['area2'];
            $area2 = str_pad($area2, 36, " ");

            $telefono2 = $row['telefono2'];
            $telefono2 = str_pad($telefono2, 18, "0", STR_PAD_LEFT);

            $area3 = $row['area3'];
            $area3 = str_pad($area3, 9, " ");

            $telefono3 = $row['telefono3'];
            $telefono3 = str_pad($telefono3, 11, " ");
            
						/*
            $area4 = $row['area4'];
            $area4 = str_pad($area4, 7, " ");

            $celular1 = $row['celular1'];
            $celular1 = str_pad($celular1, 11, " ");

            $area5 = $row['area5'];
            $area5 = str_pad($area5, 7, " ");

            $celular2 = $row['celular2'];
            $celular2 = str_pad($celular2, 11, " ");
						*/
						
            $actividadRiesgo = $row['actividadRiesgo'];
            $actividadRiesgo = str_pad($actividadRiesgo, 2, " ");

            $clausula89 = $row['clausula89'];
            $clausula89 = str_pad($clausula89, 2, " ");

            $solicitudReferencia = $row['solicitudReferencia'];
            $solicitudReferencia = str_pad($solicitudReferencia, 12, " ");

            $polizaGruopo = $row['polizaGruopo'];
            $polizaGruopo = "";//str_pad($polizaGruopo, 2, " ");

            $FechaProceso = $row['FechaProceso'];
            $FechaProceso = str_pad($FechaProceso, 8, " ");

            $numeroLote = $row['numeroLote'];
            $numeroLote = str_pad($numeroLote, 6, " ");

            $fechaEmision = $row['fechaEmision'];
            $fechaEmision = str_pad($fechaEmision, 8, " ");

            $filler2 = $row['filler2'];
            $filler2 = str_pad($filler2, 1, " ");

            $codigoImpresion = $row['codigoImpresion'];
            $codigoImpresion = str_pad($codigoImpresion, 1, " ");

            $linea = $DescBreve . $NumeroDocumento . $Nombre . $FechaNacimiento . $Direccion . $localidad . $area . $telefono . $telex . $fax . $CodigoPostal . $zona . $provincia . $FormaPago;
            $linea .= $TipoTarjeta . $VencimientoTarjetad . $Prefijo . $NumeroTarjeta . $valorcuota . $montopoliza . $moneda . $nuevafecha . $nuevotipo . $numSolicitud . $TipoRegistro;
            $linea .= $codigoMetProducto . $FechaSolicitud . $sucursal . $filler . $Sexo . $codigoActividad . $estadoCivil . $actividad . $Email . $seccion . $poliza . $aseguro . $idencliente;
            $linea .= $relaciontitular . $legajoOperador . $seccionRespuesta . $polizaRespuesta . $aseguradoRespuesta . $ErrorEnvio . $codigoEmpresa . $codigoPais . $codigocuit;
            $linea .= $NumeroCuit . $area1 . $telefono1 . $area2 . $telefono2 . $area3 . $telefono3 . $area4 . $celular1 . $area5 . $celular2 . $actividadRiesgo . $clausula89 . $solicitudReferencia;
            $linea .= $polizaGruopo . $FechaProceso . $numeroLote . $fechaEmision . $filler2 . $codigoImpresion;
            
            $lista[] = $linea;
        }
        
        return $lista;
    }

    public function obtenerReporteArrayExcel($where) {
        
        $sql = "select s.numSolicitud, 
                DATE_FORMAT(s.FechaSolicitud, '%d/%m/%y') as 'FechaSol', 
                concat(ct.NumeroTarjeta, ' ') as 'NumeroTarjeta' , 
                cast(ct.VencimientoTarjeta as char) as 'VencimientoTarjeta',  
                tt.Descripcion AS 'MarcaTarjeta', 
                ct.CodVerificacion, 
                c.NumeroDocumento, 
                DATE_FORMAT(c.FechaNacimiento, '%d/%m/%Y') as 'FechaNac', 
                'prodcuto', concat(c.Apellido, ', ', c.Nombre) as 'ApellidoNOmbre', 
                concat(c.Calle, ', ', c.Numero ) as 'CalleNumero', 
                concat(c.Piso, ' - ', c.Depto ) as 'PisoDepto', 
                l.Descripcion as 'Localidad', 
                p.Descripcion as 'Provincia', 
                c.CodigoPostal, 
                '' as 'CodArea', 
                c.Telefono, c.Telefono2, c.Email, 
                '' as 'Profesion', 
                '' as 'EstadoCivil', 
                '' as 'CALL', 
                u.NombreApellido, 
                '' as 'Legajo', 
                '' as 'Productor', 
                s.MontoPoliza as 'SumaAsegurada', 
                '' as 'Premio', 
                '' as 'aux1', 
                '' as 'aux2', 
                '' as 'aux3', 
                case when s.isDeseaClarin = 1 then 'si' else 'no' end as 'clarin' 
                from solicitud s 
                inner join clientetarjeta ct on s.idCliente = ct.idCliente 
                inner join empresatipotarjeta tt on tt.idTipoTarjeta = ct.idTipoTarjeta and tt.idEmpresa = s.idEmpresa
                inner join cliente c on s.idCliente = c.idCliente 
                inner join empresaprovincia p on p.idProvincia = c.idProvincia and p.idEmpresa = s.idEmpresa
                inner join empresalocalidad l on l.idLocalidad = c.idLocalidad and l.idProvincia = p.idProvincia and l.idEmpresa = s.idEmpresa
                inner join usuario u on u.idUsuario = s.idUsuario ";

        $sql .= $where;

				//echo $sql;exit;

        $stmt = $this->link->prepare($sql);

        $stmt->execute();
        if ($stmt->errorCode() != 0) {
            $errors = $stmt->errorInfo();
        }
        $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

        return $result;
    }
}

?>
